package com.ffcs.crmd.tsp.server.netty.client;

import io.netty.channel.Channel;

/**
 * 
 * 功能说明:客户端通道信息
 *
 * @author ZHONGFUHUA
 * 
 * @since 1.0.0-SNAPSHOT
 *
 */
public class ClientRegisterInfo {
    
    /**
     * 客户端版本
     */
    private String        version;
    
    /**
     * 客户端的通道
     */
    private Channel       channel;
    
    /**
     * 客户端的标识
     */
    private String        clientId;
    
    /**
     * 最后一次更新时间
     */
    private volatile long lastUpdateTimestamp = System.currentTimeMillis();
    
    public ClientRegisterInfo(Channel channel, String clientId, String version) {
        this.channel = channel;
        this.clientId = clientId;
        this.version = version;
    }
    
    /**
     * 功能说明: 获取客户端版本
     *
     * @return version 客户端版本
     */
    public String getVersion() {
        return version;
    }
    
    /**
     * 功能说明: 设置客户端版本
     *
     * @param version 客户端版本
     */
    public void setVersion(String version) {
        this.version = version;
    }
    
    /**
     * 功能说明: 获取客户端的通道
     *
     * @return channel 客户端的通道
     */
    public Channel getChannel() {
        return channel;
    }
    
    /**
     * 功能说明: 设置客户端的通道
     *
     * @param channel 客户端的通道
     */
    public void setChannel(Channel channel) {
        this.channel = channel;
    }
    
    /**
     * 功能说明: 获取客户端的标识
     *
     * @return clientId 客户端的标识
     */
    public String getClientId() {
        return clientId;
    }
    
    /**
     * 功能说明: 设置客户端的标识
     *
     * @param clientId 客户端的标识
     */
    public void setClientId(String clientId) {
        this.clientId = clientId;
    }
    
    /**
     * 功能说明: 获取最后一次更新时间
     *
     * @return lastUpdateTimestamp 最后一次更新时间
     */
    public long getLastUpdateTimestamp() {
        return lastUpdateTimestamp;
    }
    
    /**
     * 功能说明: 设置最后一次更新时间
     *
     * @param lastUpdateTimestamp 最后一次更新时间
     */
    public void setLastUpdateTimestamp(long lastUpdateTimestamp) {
        this.lastUpdateTimestamp = lastUpdateTimestamp;
    }
    
    /**
     * 功能说明:
     * 
     * @return
     */
    @Override
    public String toString() {
        return "ClientRegisterInfo [version=" + version + ", channel=" + channel + ", clientId="
            + clientId + ", lastUpdateTimestamp=" + lastUpdateTimestamp + "]";
    }
    
}
